gtkmm 是流行的 GUI 库 GTK 的官方 C++ 接口。其特色包括了类型安全、回调和一整组可以很容易通过继承扩展的组件。您既可以在代码中创建用户界面,也可以通过 Gtk::Builder 使用 Cambalache 用户界面设计工具 来创建用户界面。这里有 丰富的文档,包括 API 参考手册和教程。
gtkmm 是在 GNU 宽通用公共许可证(LGPL)下发布的自由软件。
- 使用继承来派生定制的组件。
- 类型安全的信号句柄,而且是标准 C++。
- 多态。
- 使用标准 C++ 库,包括字符串、容器和迭代器。
- 通过 UTF8 完全的支持国际化。
- 完整的 C++ 内存管理
- 对象组合(Object composition)
- 自动释放动态分配的组件。
- 完全使用了 C++ 的命名空间(namespaces)。
- 没有宏(MACRO)
- 跨平台:Linux(gcc)、FreeBSD(gcc)、NetBSD(gcc)、Solaris(gcc, Forte)、Win32 (gcc、MSVC 2013 或更新(gtkmm3)、MSVC 2017 或更新(gtkmm4))、 MacOS X(gcc)等等
- 自由免费的软件,无论是开发开源软件还是闭源软件,都是免费的。
- 这是在公开环境下讨论、设计和实现的。
gtkmm 是一个单纯的图形界面工具集,并力争成为最好的 C++ 图形界面工具集。它并没有涵盖通用的 C++ 数据结构、XML 解析器或是数据库访问的功能。甚至我们的信号(signal)/槽(slots)系统都是独立的(libsigc++)库的一部分。但是,gtkmm 可以与所有其它 C++ 库一起很好的工作。
请务必查看我们的配套库,glibmm(UTF-8 字符串等)、pangomm(字体布局)、libsigc++(信号/槽)和libxml++(XML解析器)。